# 案例1：正常写法
def add(x, y):
    z = x + y
    return z


print(add(3, 4))

# 案例1：lambda写法
add = lambda x, y: x + y
print(add(3, 4))

# 案例2：列表的排序
list_a = ['hello', 'world', 'how', 'are', 'you']

print(len(list_a))

list_a.sort(key=len)
print(list_a)

# 案例3：列表嵌套元组：实现按照元组的第2个值去排序，怎么排序？
list_b = [(1, 56), (2, 23), (3, 88)]


def get_second(obj):
    return obj[1]


# print(get_second((111,222)))
# print(get_second([111,'hello']))

# 排序试试
list_b.sort(key=get_second)
print(list_b)

# lambda写法：
list_b.sort(key=lambda x: x[1])
print(list_b)

# 案例4：列表嵌套字典：实现按照字典某个key值排序，怎么排序？
dict1 = {'a': 11, 'b': 22, 'c': 33}
dict2 = {'a': 11, 'b': 100, 'c': 33}
dict3 = {'a': 11, 'b': 5, 'c': 33}
list_c = [dict1, dict2, dict3]
list_c.sort(key=lambda x: x['b'])  # 顺序
list_c.sort(key=lambda x: x['b'], reverse=True)  # 逆序
print(list_c)
